``` #include <sys/file.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> int main(void) { int fd = open("/tmp/state.lock", O_RDWR | O_CREAT, 0644); if (fd < 0) { perror("open"); return 1; } if (flock(fd, LOCK_EX | LOCK_NB) < 0) { /* 排他非阻塞,flock rax=73 */ perror("flock"); /* 已被他进程持有时返回EWOULDBLOCK */ close(fd); return 1; } /* 临界区:配合锁保护共享状态 */ flock(fd, LOCK_UN); close(fd); return 0; } ``` 链路:`flock()` → glibc 置 `rax=73`,`rdi=f